package com.battle.service.repository.in;

import com.battle.pojo.entity.TreeNode;
import nirvana.core.repository.IRepository;

import java.util.List;

/**
* 【描 述】：
* 【环 境】：J2SE
* 【详 细】：
*
*/
public interface TreeNodeRepository extends IRepository< TreeNode > {

    /**
     * 根据子代获取所有上级节点
     * @param descendant
     * @return
     */
    List<TreeNode> getProgenitorTreeNodes(Long descendant);


    /**
     * 获取所有后代id
     *
     * @param progenitor
     * @return
     */
    List<Long> getDescendantIds(Long progenitor);


    /**
     * 删除全部后代
     * @param progenitor
     */
    void deleteDescendant(Long progenitor);

}